// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.liuxinlong.modules.entity.MaterialResume;
import com.baomidou.mybatisplus.mapper.BaseMapper;

/**
 * 物料履历mapper
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022年2月22日
 */
public interface MaterialResumeMapper extends BaseMapper<MaterialResume> {
    /**
     * 分页查询物料履历信息
     *
     * @param queryParam 请求信息
     * @return 物料履历信息列表
     */
    List<MaterialResume> pageResumeList(@Param("queryParam") Map<String, Object> queryParam);

    /**
     * 查询物料履历信息总数
     *
     * @param queryParam 请求信息
     * @return 物料履历信息总数
     */
    int getResumeCount(@Param("queryParam") Map<String, Object> queryParam);

    /**
     * 根据物料id获取履历数据
     *
     * @param materialNo 物料id
     * @return 物料履历信息列表
     */
    List<MaterialResume> getMaterialResume(String materialNo, String region);

    /**
     * 批量新增物料履历信息
     *
     * @param list 物料履历列表
     */
    void batchAddResume(List<MaterialResume> list);

    /**
     * 删除物料履历数据
     *
     * @param materials 物料号列表
     * @param region 域
     * @param replaceTime 替换时间
     */
    void deleteBatchResumeByMaterial(@Param("list") List<String> materials,@Param("region")String region,@Param("replaceTime")String replaceTime);

    /**
     * 根据源id获取履历数据
     *
     * @param sourceId 源id
     * @return 物料履历信息列表
     */
    MaterialResume getMaterialResumeBySource(@Param("sourceId")String sourceId);
}
